// IEORecord.cs created with MonoDevelop
// User: awilliam at 4:16 PM 9/16/2008
//
// To change standard headers go to Edit->Preferences->Coding->Standard Headers
//
using System;
using System.Collections.Generic;

namespace Whitemice.EOMono
{
  public delegate void EORecordReceiver(IEORecord record);
  
  public interface IEORecord
  {
    bool IsNew { get; }
    void Saved();
    EOEntity Entity { get; }
    string EntityName { get; }    
    bool HasField(string _fieldName);    
    IEOValue Get(string _fieldName);
    void Set(string _fieldName, object _fieldValue);
    string KindOfField(string _key);
    IList<string> PrimaryKeys { get; }
    IList<string> FieldNames { get; }
    IList<EOFieldDef> Fields { get; }
    bool IsUpdateComplete { get; }
    bool IsInsertComplete { get; }
    string SQLValue(string _fieldName);
    void Save();
    void Delete();
    IEOValue this[string _fieldName] { get; set; }
  }
}
